import React, { Component } from 'react'
import { Route, Redirect } from 'react-router-dom'
import { hasToken } from 'utils/storage'

export default class AuthRoute extends Component {
  render() {
    const { component: MyComponent, ...rest } = this.props
    // console.log(rest)

    return (
      // <Route path="xxx" component={Xxx} />
      // <Route path="xxx" render={(props) => <Xxx {...props} />} />
      // 1. Route组件，可以不使用component,使用render属性
      <Route
        {...rest}
        render={ (props) => {
          if (hasToken()) {
            // 有token，登录了
            return <MyComponent {...props} />
          } else {
            // 如果没有token，没有登录，渲染Redirect组件跳转到 /login
            return <Redirect to='/login' />
          }
        }}
      ></Route>
    )
  }
}
